/***********************************************************************************
 * 文件名： smcp_common.c
 * 作者： 刘言
 * 版本： 4.1
 * 说明：
 * 		SMCP通用内容。
 * 修改记录：
 * 	2024/2/1: 初版。 刘言。
***********************************************************************************/
#include "smcp_common.h"




void Smcp_Encrypt(const u8 *scr, u8 * dst)
{
    u8 i, left = 7, mid = 0, right = 1;

    if(scr == NULL) return;
    for(i = 0; i < 4; i++)
    {
        dst[i] = scr[i];
    }
    dst[4] = dst[1] ^ _SMCP_COMM_CODE0;
    dst[5] = dst[2] + _SMCP_COMM_CODE1;
    dst[6] = dst[0] - dst[2];
    dst[7] = dst[1] ^ dst[3];

    for(i = 0; i < 100; i++)
    {
        *(dst + mid) = (*(dst + left)<<1) + (~*(dst + right));
        mid ++;
        if(mid == 8)mid = 0;
        left ++;
        if(left == 8)left = 0;
        right ++;
        if(right == 8)right = 0;
    }
}


